home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t8.d64 / hex dec bin.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  77 lines

  1. 5 POKE53280,1:POKE53281,1
  2. 6 REM:                               :
  3. 7 REM: HEX - DEC - BIN CONVERTER     :
  4. 8 REM:    BY: BOB SWIFT              :
  5. 9 REM:                               :
  6. 10 DIMH$(15):FORI=0TO15:READH$(I):NEXTI
  7. 20 DATA0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
  8. 30 PRINTCHR$(14);"[147][200][197][216] [144]- [196][197][195] [144]- [194][201][206] [144][195][207][206][214][197][210][212][197][210]"
  9. 40 PRINT"[215]RITTEN BY: [210].[196]. [211]WIFT, [208].[197]NG.":PRINTTAB(12);"1983 - 03 - 27"
  10. 50 PRINT"1[146] - [200]EXADECIMAL [144]TO [196]ECIMAL[144]"
  11. 60 PRINT"2[146] - [196]ECIMAL [144]TO [200]EXADECIMAL[144]"
  12. 70 PRINT"3[146] - [200]EXADECIMAL [144]TO [194]INARY[144]"
  13. 80 PRINT"4[146] - [194]INARY [144]TO [200]EXADECIMAL[144]"
  14. 90 PRINT"5[146] - [196]ECIMAL [144]TO [194]INARY[144]"
  15. 100 PRINT"6[146] - [194]INARY [144]TO [196]ECIMAL[144]"
  16. 110 PRINT"_[146] - [197]XIT [208]ROGRAM"
  17. 120 PRINT"[215]HEN IN CONVERTING MODE, PRESS"
  18. 130 PRINT"[210][197][212][213][210][206][146] TO RETURN TO [205][197][206][213]."
  19. 140 GETA$:IFA$=""THEN140
  20. 150 IFA$="1"THENPRINTCHR$(142);"[147]HEXADECIMAL [144]TO DECIMAL":GOTO1000
  21. 160 IFA$="2"THENPRINTCHR$(142);"[147]DECIMAL [144]TO HEXADECIMAL":GOTO2000
  22. 170 IFA$="3"THENPRINTCHR$(142);"[147]HEXADECIMAL [144]TO BINARY":GOTO3000
  23. 180 IFA$="4"THENPRINTCHR$(142);"[147]BINARY [144]TO HEXADECIMAL":GOTO4000
  24. 190 IFA$="5"THENPRINTCHR$(142);"[147]DECIMAL [144]TO BINARY":GOTO5000
  25. 200 IFA$="6"THENPRINTCHR$(142);"[147]BINARY [144]TO DECIMAL":GOTO6000
  26. 210 IFA$="_"THENPRINTCHR$(142);"[147]":END
  27. 220 GOTO140
  28. 997 REM:                             :
  29. 998 REM:   HEXADECIMAL TO DECIMAL    :
  30. 999 REM:                             :
  31. 1000 A$="":INPUT"INPUT HEX[144]";A$:IFA$=""THEN30
  32. 1010 IFLEN(A$)>4THEN30
  33. 1020 GOSUB1030:GOTO1070
  34. 1030 D=0:FORI=1TOLEN(A$):T$=MID$(A$,LEN(A$)-I+1,1)
  35. 1040 FORJ=0TO15:IFT$=H$(J)THEN1060
  36. 1050 NEXTJ:GOTO30
  37. 1060 D=D+(16^(I-1))*J:NEXTI:D=INT(D):RETURN
  38. 1070 PRINTTAB(19);"[145]";INT(D);"":GOTO1000
  39. 1997 REM:                            :
  40. 1998 REM:   DECIMAL TO HEXADECIMAL   :
  41. 1999 REM:                            :
  42. 2000 D=-1:INPUT"INPUT DEC[144]";D:D=INT(D):IFD<0ORD>65535THEN30
  43. 2010 GOSUB2020:GOTO2060
  44. 2020 T=INT(D/4096):A$=H$(T):D=INT(D-T*4096)
  45. 2030 T=INT(D/256):A$=A$+H$(T):D=INT(D-T*256)
  46. 2040 T=INT(D/16):A$=A$+H$(T):D=INT(D-T*16)
  47. 2050 A$=A$+H$(D):RETURN
  48. 2060 PRINTTAB(21);"[145]";A$;"":GOTO2000
  49. 2997 REM:                            :
  50. 2998 REM:   HEXADECIMAL TO BINARY    :
  51. 2999 REM:                            :
  52. 3000 A$="":INPUT"INPUT HEX[144]";A$:IFA$=""THEN30
  53. 3010 IFLEN(A$)>2THEN30
  54. 3020 GOSUB1030:GOSUB3040
  55. 3030 PRINTTAB(18);"[145]";A$;"":GOTO3000
  56. 3040 A$="":FORI=0TO7:IF(DAND2^I)THEN3060
  57. 3050 A$="0"+A$:NEXT:RETURN
  58. 3060 A$="1"+A$:NEXT:RETURN
  59. 3997 REM:                            :
  60. 3998 REM:   BINARY TO HEXADECIMAL    :
  61. 3999 REM:                            :
  62. 4000 A$="":INPUT"INPUT BIN[144]";A$:IFA$=""ORLEN(A$)>8THEN30
  63. 4010 GOSUB4020:A$="":GOSUB2040:PRINTTAB(20);"[145]";A$;"":GOTO4000
  64. 4020 D=0:FORI=1TOLEN(A$):IFMID$(A$,LEN(A$)-I+1,1)="0"THENNEXT:D=INT(D):RETURN
  65. 4030 IFMID$(A$,LEN(A$)-I+1,1)="1"THEND=D+2^(I-1):NEXT:D=INT(D):RETURN
  66. 4040 GOTO30
  67. 4997 REM:                            :
  68. 4998 REM:     DECIMAL TO BINARY      :
  69. 4999 REM:                            :
  70. 5000 D=-1:INPUT"INPUT DEC[144]";D:D=INT(D):IFD<0ORD>255THEN30
  71. 5010 GOSUB3040:PRINTTAB(17);"[145]";A$;"":GOTO5000
  72. 5997 REM:                            :
  73. 5998 REM:     BINARY TO DECIMAL      :
  74. 5999 REM:                            :
  75. 6000 A$="":INPUT"INPUT BIN[144]";A$:IFA$=""ORLEN(A$)>8THEN30
  76. 6010 GOSUB4020:PRINTTAB(20);"[145]";D;"":GOTO6000
  77.